//* 菜单模块

// 为了显示工作台 静态路由表当成初始值
// 拿到动态路由表之后 再次组合起来 左侧菜单既可以显示静态也可以显示动态
// 菜单模块 导入静态路由表

//  解决切换用户有缓存的bug
// 方案：在用户退出登录时 1. 调用清空路由记录的reset方法 2.手动把vuex中的数据也清空 3.把用户信息也清空
import { routes, resetRouter } from '@/router'
export default {
  // 命名空间
  namespaced: true,
  // 状态
  state: {
    menuList: [...routes] // 存入静态路由表

  },
  // 同步修改
  mutations: {
    // 设置菜单列表
    setMenulist(state, asyncRoutes) {
      // state.menuList = [...state.menuList, ...asyncRoutes]
      // state。menuList =被赋值为  [。。。静态路由表 + 。。。组合动态路由表之后 ]再次组合起来
      state.menuList = [...routes, ...asyncRoutes]
    },
    // 操作逻辑- -退出登录时，清空路由
    resetMenu (state) {
      // 重置路由系统
      resetRouter()
      // 重置左侧菜单=》恢复为静态路由表?
      state.menuList = [...routes]
    }
  }
}
